package com.asen.commons.core.base.enums;

import com.asen.commons.core.base.StringEnum;
import io.swagger.annotations.ApiModel;

/**
 * 数据字典类型
 *
 * @author liuhui
 * @date 2019/1/8
 */
@ApiModel("数据字典类型")
public enum DictTypeEnum implements StringEnum {

    /**
     * 数据字典类型
     */
    INDUSTRY("002.001", "所属行业"),
    COMPANY_TYPE("002.002", "公司类型"),
    ADDED_SERVICE("002.005", "增值服务"),
    PRODUCT_CATEGORY("PRODUCT_CATEGORY", "产品分类"),
    TRANSPORT_TYPE("transportType", "运输类型"),
    SUPERVISION("supervision", "海关监管条件"),
    QUARANTINE("quarantine", "检验检疫类别"),
    CAR_TYPE("carType", "车型"),
    AIRPORT("AIRPORT", "机场"),
    AIR_LINE("AIR_LINE", "航线"),
    AMOUNT_TYPE("AMOUNT_TYPE", "额度类型"),
    TRANSPORT_MODE("TRANSPORT_MODE", "运输方式"),
    TRADE_MODE("TRADE_MODE", "监管方式"),
    SYSTEM_PARAMETER2("CUT_MODE", "征免性质"),
    WRAP_TYPE("WRAP_TYPE", "包装种类"),
    MANIFEST_WRAP_TYPE("MANIFEST_WRAP_TYPE", "舱单包装种类"),
    ENTRY_TYPE("ENTRY_TYPE", "报关单类型"),
    QUALIFICATION_TYPE("QUALIFICATION_TYPE", "企业资质类别"),
    ORG_CODE("ORG_CODE", "检验检疫机关"),
    RELATED_REASON("RELATED_REASON", "关联理由"),
    CUT_WAY("CUT_WAY", "征免方式"),
    ORG_CODE_CERTIFICATE("ORG_CODE_CERTIFICATE", "检验检疫签证证书"),
    CONTAINER_MD("CONTAINER_MD", "集装箱规格"),
    DOCUMENT_CODE("DOCUMENT_CODE", "随附单证代码"),
    RECEIVE_TYPE("RECEIVE_TYPE", "收款方式"),
    BILL_TYPE("BILL_TYPE", "票据类型"),
    RECEIVING_PURPOSES("RECEIVING_PURPOSES", "收款用途"),
    SYSTEM_PARAMETER("SYSTEM_PARAMETER", "系统参数"),
    SUPPLIER_TYPE("SUPPLIER_TYPE", "供应商分类"),
    CUSTOMER_TYPE("CUSTOMER_TYPE", "客户分类"),
    CUSTOMER_PLATFORM("CUSTOMER_PLATFORM", "客户专属平台"),
    SUPPLIER_NATURE("SUPPLIER_NATURE", "供应商性质"),
    TRANSFER_TYPE("TRANSFER_TYPE", "调拨类型"),
    JIT_INVENTORY_TRANSFER_TYPE("JIT_INVENTORY_TRANSFER_TYPE", "转仓单调拨类型"),
    DOMESTIC_GOODS("DOMESTIC_GOODS", "境内货源地"),
    ENTRY_CUSTOMS("ENTRY_CUSTOMS", "关别"),
    SHIPPING_MARKS("SHIPPING_MARKS", "装运唛头"),
    INSURANCE("INSURANCE", "保险"),
    FOREIGN_RATE_WAY("FOREIGN_RATE_WAY", "牌价获取方式"),
    USETO("USETO", "用途"),
    MESTIC("MESTIC", "目的地代码"),
    DOMESTIC("DOMESTIC", "境内目的地"),
    TRADE_TERM("TRADE_TERM", "成交方式"),
    DING_PROCESS_CODE("DING_PROCESS_CODE", "钉钉流程编号"),
    DIRECT_PAYMENT("DIRECT_PAYMENT", "运费支付方式"),
    DIRECT_PROTOCOL("DIRECT_PROTOCOL", "运输条款"),
    GOODS_PASS_CUSTOMS("GOODS_PASS_CUSTOMS", "海关货物通关代码"),
    GG_TYPE_CODE("GG_TYPE_CODE", "更改原因代码"),
    TYPE_CODE("TYPE_CODE", "通讯方式类别代码"),
    WXP_CODE("WXP_CODE", "危险品编号"),
    DENTIFYINF("DENTIFYINF", "重箱或空箱标识"),
    PROJECT("PROJECT", "项目"),
    SALES_PLATFORM("SALES_PLATFORM", "销售平台"),
    LOAN_MODE("LOAN_MODE", "销售平台"),
    IDENTITY_TYPE("IDENTITY_TYPE", "身份类型"),
    LOGISTICS_TRANS_MODE("LOGISTICS_TRANS_MODE", "物流运单-运输方式"),
    TRANS_STATUS("TRANS_STATUS", "物流运单-运输状态"),
    SETTLEMENT_WAY("SETTLEMENT_WAY", "结算方式"),
    PARTY_TYPE("PARTY_TYPE", "合同-类型"),
    BUSINESS_MODEL("BUSINESS_MODEL", "业务模式"),
    BUSINESS_LINE("BUSINESS_LINE", "业务线"),
    PURPOSE("PURPOSE", "额度用途"),
    PAY_METHOD("PAY_METHOD", "额度-支付方式"),
    CYCLE("CYCLE", "循环/非循环额度"),
    FACTORING_METHOD_FIRST("FACTORING_METHOD_FIRST", "保理方式一"),
    FACTORING_METHOD_SECOND("FACTORING_METHOD_SECOND", "保理方式二"),
    FACTORING_METHOD_THIRD("FACTORING_METHOD_THIRD", "保理方式三"),
    INTEREST_COLLECT_METHOD("INTEREST_COLLECT_METHOD", "利息收取方式"),
    VALUE_DATE("VALUE_DATE", "起息日"),
    STOP_DATE("STOP_DATE", "止息日"),
    RATE_TYPE("RATE_TYPE", "利率/费率类型"),
    SETTLE_INTEREST_PERIOD("SETTLE_INTEREST_PERIOD", "结算周期"),
    SETTLE_MATTER("SETTLE_MATTER", "结算标的"),
    QUOTA_SETTLEMENT_WAY("QUOTA_SETTLEMENT_WAY", "资产池-结算方式"),
    QUOTA_ASSETS_TYPE("QUOTA_ASSETS_TYPE", "资产池-资产类型"),
    QUOTA_MANAGER("QUOTA_MANAGER", "资产池-资产管理方"),
    COUNTER_GUARANTEE_WAY("COUNTER_GUARANTEE_WAY", "资产池-反担保方式"),
    GUARANTEE_WAY("GUARANTEE_WAY", "资产池-担保方式"),
    ADD_CREDIT_WAY("ADD_CREDIT_WAY", "资产池-增信方式"),
    SUPPORT_LEVEL("SUPPORT_LEVEL", "公司现有内部资源对于公司实现战略发展规划的支持程度"),
    CREDIT_REPORTING("CREDIT_REPORTING", "人行征信状况"),
    API_SOURCE_TYPE("API_SOURCE_TYPE", "接口配置来源类型"),
    CUSTOMER_SOURCE_TYPE("CUSTOMER_SOURCE_TYPE", "客户来源类型"),
    PRODUCT_INDUSTRY("PRODUCT_INDUSTRY", "产品所属行业"),
    PRODUCT_BIZ_TYPE("PRODUCT_BIZ_TYPE", "产品业务类型"),
    WORK_STATUS("WORK_STATUS", "员工工作状态"),
    ENTERPRISE_NATURE("ENTERPRISE_NATURE", "企业性质小类"),
    RULE_TYPE("RULE_TYPE", "凭证模板规则类型"),
    B2B_BIZ_TYPE("b2bBizType", "B2B业务类型"),
    WARNING_LEVEL("WARNING_LEVEL", "预警级别"),
    WARNING_CATEGORY("WARNING_CATEGORY", "预警类别"),
    ASSET_FORM_TYPE("ASSET_FORM_TYPE", "表单类别"),
    ASSET_ISSUER("ASSET_ISSUER", "发行机构"),
    PAYMENT_USE("PAYMENT_USE", "付款用途"),
    GOODS_CERTIFICATE("GOODS_CERTIFICATE", "货权凭证"),
    ROLLOVER_TYPE("ROLLOVER_TYPE", "调拨类型"),
    ASSURE_TYPE("ASSURE_TYPE", "担保方式"),
    PAY_SPECIAL("PAY_SPECIAL", "付款申请单类型"),
    API_CONFIG("API_CONFIG", "API配置"),
    CABINET_TYPE("CABINET_TYPE", "柜型"),
    BUSINESS_CATEGORY("BUSINESS_CATEGORY", "业务分类"),
    GOOD_CATEGORY("GOOD_CATEGORY", "商品类别"),
    PROCESS_ROLE("PROCESS_ROLE", "流程角色"),

    REQUEST_TYPE("REQUEST_TYPE", "申请类型"),
    PROCUREMENT_METHOD("PROCUREMENT_METHOD", "采购方式"),
    PROCUREMENT_TYPE("PROCUREMENT_TYPE", "采购类型"),
    ENTRUST_METHOD("ENTRUST_METHOD", "委托方式"),
    BID_TYPE("BID_TYPE", "标书类型"),
    BID_SUPPLIER_TYPE("BID_SUPPLIER_TYPE", "供应商分类"),
    BID_CUSTOMER_TYPE("BID_CUSTOMER_TYPE", "客户分类"),
    REFERENCE_TYPE("REFERENCE_TYPE", "评估模板-引用类型"),
    PAY_TYPE("PAY_TYPE", "支付方式"),
    SETTLE_TYPE("SETTLE_TYPE", "结算方法"),
    CASE_TYPE("CASE_TYPE", "按由类型"),
    INFO_CATEGORY("INFO_CATEGORY", "资料类型"),
    REPAYMENT_WAY("REPAYMENT_WAY", "本息还款方式"),
    DELIVERY_TYPE("DELIVERY_TYPE", "交货方式"),
    INVENT_STATUS("INVENT_STATUS", "库存状态"),
    FINANCING_PERIOD_CALC_WAY("FINANCING_PERIOD_CALC_WAY", "融资期限计算方式"),
    ANNUALIZED_DAYS("ANNUALIZED_DAYS", "年化天数基准"),
    BUSINESS_CONCLUSION("BUSINESS_CONCLUSION", "业务结论"),
    FREE_COLLECT_WAY("FREE_COLLECT_WAY", "服务费收取方式"),
    PAY_SOURCE("PAY_SOURCE", "还款来源"),
    FINANCIAL_PRODUCT("FINANCIAL_PRODUCT", "金融产品"),
    APPLY_CREDIT_TERM("APPLY_CREDIT_TERM", "申请授信期限"),
    ;
    /**
     * 数据字典类型编码
     */
    private String value;
    /**
     * 数据字典类型描述
     */
    private String desc;

    private DictTypeEnum(String value, String desc) {
        this.desc = desc;
        this.value = value;
    }

    @Override
    public String getDesc() {
        return desc;
    }

    @Override
    public String getValue() {
        return value;
    }

}
